import sys

import pygame

pos = pygame.Vector2(0, 0)

pygame.init()

screen = pygame.display.set_mode((600, 600))

group = pygame.sprite.Group()

sp = pygame.sprite.Sprite()
sp.image = pygame.Surface((10, 10))
sp.image.fill((255, 0, 0))
sp.rect = sp.image.get_rect()

group.add(sp)
clock = pygame.time.Clock()

end = pygame.Vector2(255, 255)
start = pygame.Vector2(sp.rect.center)
move_ip = [0, 0]
_ip = [0, 0]
while True:
    clock.tick(60)
    if pygame.Vector2(sp.rect.center).distance_to(end) > .1:
        ip = (end - start).normalize()
        move_ip[0] += ip[0]
        move_ip[1] += ip[1]
        if move_ip[0] > 1:
            _ip[0] = int(move_ip[0])
            move_ip[0] -= int(move_ip[0])
        else:
            _ip[0] = 0
        if move_ip[1] > 1:
            _ip[1] = int(move_ip[1])
            move_ip[1] -= int(move_ip[1])
        else:
            _ip[1] = 0
        sp.rect.move_ip(_ip)
        print(pygame.Vector2(sp.rect.center))
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            sys.exit()

    group.update()
    group.draw(screen)
    pygame.display.update()
